<?php
include_once 'ConexaoWP.class.php';


class WPPDO {
	

	// Retorna todas as categorias pertencentes ao banco		
	public function busca_categorias () {
		try{
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			$result = $conn->query("SELECT avpt_terms.name 
									FROM avpt_terms 
									INNER JOIN avpt_term_taxonomy 
									ON avpt_terms.term_id = avpt_term_taxonomy.term_id");
			if($result){
				//percorre os resultados via o laço foreach
				foreach($result as $linha){
					//exibe o resultado
					$retorno[] = $linha[0];
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;
	}

	// Retorna 1 se encontrar a page a partir de uma string dada e 0 se nada encontar	
	public function is_there_page($page_name) {
		try{		
			$retorno = 0; 
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			$result = $conn->query("SELECT * FROM avpt_posts WHERE post_name = '$page_name'");
			if($result!=null){				
				foreach($result as $linha){
					//exibe o resultado
					$retorno = 1;
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;
	}


	// Retorna todas as categorias pertencentes ao banco		
	public function busca_postmeta_key_value($meta_key_name, $post_id) {
		try{		
			$retorno = null; 
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			$result = $conn->query("SELECT avpt_postmeta.meta_value
				FROM  avpt_postmeta 
				WHERE  avpt_postmeta.meta_key =  '$meta_key_name'
				AND  avpt_postmeta.post_id = '$post_id'");
			if($result!=null){				
				foreach($result as $linha){
					//exibe o resultado
					$retorno[] = $linha;
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;
	}

	// Retorna todas os campos da tabela postmeta a partir do id do post		
	public function postmeta_by_post_id($post_id) {
		try{		
			$retorno = null; 
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			$result = $conn->query("SELECT *
				FROM  avpt_postmeta 
				WHERE avpt_postmeta.post_id = '$post_id'");
			if($result!=null){				
				foreach($result as $linha){
					//exibe o resultado
					$retorno[] = $linha;
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;
	}


	public function busca_paginas () {
		try{
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			$result = $conn->query("SELECT avpt_posts.post_title
				FROM  avpt_posts 
				WHERE post_type =  'page'
				AND   post_author = 1");
			if($result){
				//percorre os resultados via o laço foreach
				foreach($result as $linha){
					//exibe o resultado
					$retorno[] = $linha[0];
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;
	}


	public function busca_cat_id_by_name ( $cat_name ) {
		try{
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			$result = $conn->query("SELECT avpt_terms.term_id
				FROM avpt_terms
				WHERE avpt_terms.name = '$cat_name'");
			if($result){
				//percorre os resultados via o laço foreach
				foreach($result as $linha){
					//exibe o resultado
					$retorno = $linha[0];
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;
	}
	
			

	public function busca_cat_by_id ( $parent_id ) {
		try{			
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			global $wpdb;
			$result = $wpdb->get_results("SELECT avpt_terms.name 
					FROM avpt_terms 
					INNER JOIN avpt_term_taxonomy 
					ON avpt_terms.term_id = avpt_term_taxonomy.term_id 
					AND avpt_term_taxonomy.parent = '$parent_id'"
				);
			if($result){
				//percorre os resultados via o laço foreach
				foreach($result as $linha){
					//exibe o resultado
					$retorno[] = $linha;
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;
	}



	function get_user_by_id () {
		try{			
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			global $wpdb;
			$result = $wpdb->get_results("SELECT avpt_users.user_email
				FROM  avpt_users 
				WHERE avpt_users.ID =1"
				);
			if($result){
				//percorre os resultados via o laço foreach
				foreach($result as $linha){
					//exibe o resultado
					$retorno = $linha;
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;

	}

	function get_address_by_post_id () {
		try{			
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			global $wpdb;
			$result = $wpdb->get_results("SELECT avpt_postmeta.meta_value
				FROM avpt_postmeta
				WHERE meta_key =  'avpt_parques_zoos_endereco'
				AND avpt_postmeta.post_id =826"
				);
			if($result){
				//percorre os resultados via o laço foreach
				foreach($result as $linha){
					//exibe o resultado
					$retorno = $linha;
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;


		
	}




	// Retorna todas as categorias pertencentes ao banco		
	public function busca_concelho () {
		try{
			$conn = ConexaoWP::getConexao()->Conectar();
			$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			//executa a instrução de consulta
			$result = $conn->query("SELECT avpt_aux_concelhos.concelho_nome 
									FROM avpt_aux_concelhos");
			if($result){
				//percorre os resultados via o laço foreach
				foreach($result as $linha){
					//exibe o resultado
					$retorno[] = $linha[0];
				}
			}
			//fecha a conexão
			$conn = null;
		}catch (PDOExecption $e){
			echo $e;
		}
		$conn = null;
		return $retorno;
	}






	
		



















}